package org.erp.procurement.entity.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.erp.procurement.enums.OrderStatusEnum;

import java.util.Date;

import static com.fasterxml.jackson.annotation.JsonProperty.Access.READ_ONLY;

/**
 * 线上小程序订单响应实体
 *
 * @author libin
 * @version 1.0
 * @description: 线上小程序订单响应实体
 * @date 2025/11/5 14:55
 **/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class MiniOrderVo {
    /**
     * 自增id
     */
    private Long id;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 采购数量
     */
    private Integer purchaseQuantity;
    /**
     * 验机数量
     */
    private Integer checkQuantity;
    /**
     * 回收数量
     */
    private Integer recycleQuantity;
    /**
     * 回收金额
     */
    private Integer recycleAmount;
    /**
     * 退回数量
     */
    private Integer returnQuantity;
    /**
     * 售卖人id
     */
    private Long sellId;
    /**
     * 售卖人名称
     */
    private String sellName;
    /**
     * 售卖人手机号
     */
    private String sellPhone;
    /**
     * 售卖人地址
     */
    private String sellAddress;
    /**
     * 租户id
     */
    private Long tenantId;
    /**
     * 租户名称
     */
    private String tenantName;
    /**
     * 仓库id
     */
    private Long storeId;
    /**
     * 仓库名称
     */
    private String storeName;
    /**
     * 快递单号
     */
    private String trackingNumber;
    /**
     * 订单状态
     */
    private Integer status;
    /**
     * 订单状态字符串
     */
    @JsonProperty(access = READ_ONLY)
    private String statusStr;
    /**
     * 创建时间
     */
    private Date createTime;

    public String getStatusStr(){
        return OrderStatusEnum.getMessageByCode(this.getStatus());
    }
}
